xcsp 3
Proceedings of the 2025 XCSP3 Competition
Audemard, Gilles, Lecoutre, Christophe, Lonca, Emmanuel
Competition 2025, following those published in 2022 [2], 2023 [3], and 2024 [4]. The website containing all detailed results of this international competition is available at: https://www.cril.univ-artois.fr/XCSP25 The organization of this 2025 competition involved the following tasks: adjusting general details (dates, tracks, .. . These instances can be found in this archive. Some (usually minor) differences may exist when compiling the models presented in this document and those that can be found in this archive. Remember that the complete description, Version 3.2, of the format (XCSP For the 2025 competition, 33 problems have been selected. They are succinctly presented in Table 1.1. For each problem, the type of the involved (global) constraints is indicated. At this point, do note that making a good selection of problems/instances is a difficult task. When table is followed by (), it means that starred tables are involved. It is always interesting to see how constraint solvers behave when the instances of a problem become harder and harder. This is what we call the scaling behavior of solvers.
Proceedings of the 2024 XCSP3 Competition
Audemard, Gilles, Lecoutre, Christophe, Lonca, Emmanuel
This short paper gives an overview of the XCSP3 solver implemented in Picat. Picat provides several constraint modules, and the Picat XCSP3 solver uses the sat module. The XCSP3 solver mainly consists of a parser implemented in Picat, which converts constraints from XCSP3 format to Picat. The solver demonstrates the strengths of Picat, a logic-based language, in parsing, modeling, and encoding constraints into SAT. The high performance of the solver in recent XCSP competitions demonstrates the viability of using a SAT solver to solve general constraint satisfaction and optimization problems.
Proceedings of the 2023 XCSP3 Competition
Audemard, Gilles, Lecoutre, Christophe, Lonca, Emmanuel
This short paper gives an overview of the XCSP3 solver implemented in Picat. Picat provides several constraint modules, and the Picat XCSP3 solver uses the sat module. The XCSP3 solver mainly consists of a parser implemented in Picat, which converts constraints from XCSP3 format to Picat. The solver demonstrates the strengths of Picat, a logic-based language, in parsing, modeling, and encoding constraints into SAT. The solver submitted to the 2022 XCSP competition is based on the one that won the 2019 XCSP competition.
Proceedings of the 2022 XCSP3 Competition
Audemard, Gilles, Lecoutre, Christophe, Lonca, Emmanuel
This short paper gives an overview of the XCSP3 solver implemented in Picat. Picat provides several constraint modules, and the Picat XCSP3 solver uses the sat module. The XCSP3 solver mainly consists of a parser implemented in Picat, which converts constraints from XCSP3 format to Picat. The solver demonstrates the strengths of Picat, a logic-based language, in parsing, modeling, and encoding constraints into SAT. The solver submitted to the 2022 XCSP competition is based on the one that won the 2019 XCSP competition.
ACE, a generic constraint solver
Combinatorial problems are ubiquitous in the world around us. Actually, they are found in all fields of human activity. As illustrations, it may be a question of scheduling the operations to be carried out within an industrial process (production line of a vehicle, an airplane or a satellite), of extracting the recurring patterns in a transaction database (data mining), of organizing the roster of a service (in a hospital, university or industrial environment), of generating molecular structures with good properties (in chemistry or bioinformatics), etc. Solving optimization problems remains a difficult task, especially when the size of the instances of the problems to be solved is large and/or when optimality is desired. In reality, the difficulty is twofold: being able to appropriately write models for encountered problems and being able to effectively solve the different instances of these problems. The main paradigms for optimization, namely mathematical programming, metaheuristics and Constraint Programming (CP), including the Boolean SAT framework, offer varied and interesting tools (languages, libraries, software), and are in a way, quite complementary; each paradigm having its own success stories.
XCSP3-core: A Format for Representing Constraint Satisfaction/Optimization Problems
Boussemart, Frédéric, Lecoutre, Christophe, Audemard, Gilles, Piette, Cédric
In this document, we introduce XCSP3-core, a subset of XCSP3 that allows us to represent constraint satisfaction/optimization problems. The interest of XCSP3-core is multiple: (i) focusing on the most popular frameworks (CSP and COP) and constraints, (ii) facilitating the parsing process by means of dedicated XCSP3-core parsers written in Java and C++ (using callback functions), (iii) and defining a core format for comparisons (competitions) of constraint solvers.
PYCSP3: Modeling Combinatorial Constrained Problems in Python
Lecoutre, Christophe, Szczepanski, Nicolas
In this document, we introduce PYCSP$3$, a Python library that allows us to write models of combinatorial constrained problems in a simple and declarative way. Currently, with PyCSP$3$, you can write models of constraint satisfaction and optimization problems. More specifically, you can build CSP (Constraint Satisfaction Problem) and COP (Constraint Optimization Problem) models. Importantly, there is a complete separation between modeling and solving phases: you write a model, you compile it (while providing some data) in order to generate an XCSP3 instance (file), and you solve that problem instance by means of a constraint solver. In this document, you will find all that you need to know about PYCSP$3$, with more than 40 illustrative models.